<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    // JavaScript:是直译型的脚本语言。是一个动态类型，简单弱类型，基于原型的语言。
    //  动态类型：定义的数据类型是可变的。
    // let num = 1;
    // num = "abc"

    //  简单弱类型：类型只有在运行时才可知。
    // {
    //     const fn = function(a){
    //         console.log(a)
    //     }
    //     fn(1);
    //     fn(true);
    //     fn(function(){});
    //     fn({});
    //     fn([])
    // }

    //  基于原型：
    {
        // let obj = {};
        // console.log(obj.__proto__ === Object.prototype);

        // let str = "abc";
        // console.log(str.length);// 3
        // console.log(str.charAt(str.length-1));// c
        //
        //
        // console.log(str.__proto__ === String.prototype);// true
        // console.log(String.prototype.__proto__ === Object.prototype);
        // console.log(Object.prototype.__proto__);

    }

    //  脚本语言:1- 直译式语言  2- 语言简单，语法不是很严谨。  3- 需要拥有依赖的宿主。

    // 语言从执行的角度分为两种：解释型（直译式），编译型
    //  直译型:
    //  需要通过解释器对语句进行翻译，而这个翻译官就是JS引擎。

    // 直译语言（Interpreted language），又称直译式语言，是一种[编程语言]它不需要经过[编译器]先行编译为机器码，
    // 之后直接在[CPU]中运行。相对的，直译语言需要通过[解释器]解释器在运行期动态直译
</script>
</html>